Monday, July 27, 2026

Week 50 - Industry Review Cleanup Part 3

 For this week I mainly worked on finalizing the renders for my player VFX post and creating several of the video features for it. I decided to only focus on the player VFX as I find them to be more portfolio-worthy than any of the environmental VFX I've made. However, work on this was halted due to needing to render out the beginning and ending cinematics, as everything is run through the sequencer, nothing exists outside of Unreal in high quality.



Another part of this week has been tweaking the final hair mesh for renders in Marmoset according to feedback. I'm a bit worried about this one, as the final product I made was too realistic compared to the cartoon style of the cinematic for Common Art. As a result, I'll be finalizing it without any attachments, or at least minimal, to the cinematic it would be used for.




Week 50 - Thread Between Us, Final Submission

 For the last submission, I made some minor changes to Sol's hair model, adjusting the length of several strands and adding a bit more variation to the curl patterns.



Feedback as mentioned


Additionally, I made some slight tweaks to the base yarn mesh, including a long, coiled, string around the ball to be unfurled in the scene where the yarn trips Luna. Additionally, I added more topology to the strings overall.








Tuesday, July 21, 2026

Week 49 - Industry Review Cleanup Part 2


For this milestone I looked at cleaning and documenting the Regradable VFX that aligned with a Character Technical Artist. I decided to focus mainly on the VFX that targeted Eli, our main character, directly in one post. This would mainly focus on the:

  • Eye shader
  • Glitch damage VFX
  • Sludge VFX

Eye Shader

Example of Eli's emotion changing with the animations

Debug version of how Eli's eyes work, it uses a face texture that moves up and down to dictate which emotion to display


Rendering for Artstation thumbnail, it ended up taking a Fortnite aesthetic, rendered in Marmoset Toolbag


Glitch Shader

This and the Eye Shader were the two largest shaders I worked on. This one was specifically meant to be used in instances of our character being damaged, and it overlays 5 different visual systems overtop of one another, including noise, glitch lines, chromatic aberration, pixelization, and a hue, saturation, & brightness adjustment.


These systems can be mixed-and-matched or used all together in specific material instances as the designers see fit.




Poison Overlay Shader

This shader was a late addition and basically is used to show some effect is being put on Eli as he walks through the sludge in the levels. Its relatively simple, however it uses a special trick for the gradient so that regardless of the world position Eli is at, the gradient always maintains it's percentage without relying on uvs.






Monday, July 13, 2026

Week 48 - In Plain Sight

Colour changing material for background characters, allows designers to change the colour of NPC clothing quickly







hair shader
consolodate both card-based hair designs and curve-based hair designs onto the same material allowing them to get maximum customizability on both








Work in progress hair for background npc



Saturday, June 27, 2026

Week 45 - Kotallo Headdress, Horizon Forbidden West Fan Art - Retopo & UVS

   Milestone 03 Check In: Retopology & UVs

Marmoset Toolbag, Hair cards with sub-surface scattering & ray tracing

Unreal Engine, Hair cards in normal base colour


Marmoset Toolbag, Hair cards without alphas & an ID map

Substance Painter, Hardsurface metal pieces, 2048x texture



Wireframe, 82k tris with hair - 46k without

Schedule
[06/16] BLOCKOUT [] -- First pass ofeverything; establish the form and sizing for all objects

[06/23] REFINEMENT & HAIR CARDS [] -- Refining the hardsurface and rope designs into a high poly; create a first pass of the larger plume/hair cards

[06/30] RETOPO & UVS [] -- Retopology, uvs and a secondary hair pass

[07/07] TEXTURING & RENDERING []  -- Use generator and mask-based texturing workflows. Render in Marmoset Toolbag.

Tools used: Maya (Ahoge & GS Curves plugin), Substance Painter, Fiber Shop, Unreal Engine

 References

For this project, since I escaped the soft fleshy bits of character sculpting, a lot of my references are just trying to understand the shape language that Horizon Forbidden West uses for their warriors, in this case the Tenakth Marshalls.



Extra Renders
Marmoset Toolbag, Hair cards in normal base colour



Marmoset Toolbag, Hair cards with sub-surface scattering without ray tracing

 Critique
Massive thank you to Richard Bacallao from Cohort 21 for the feedback! His main notes go as follows (6/28):
  1.  The biggest thing I see right now is a lack of density for the hair itself.
    • You have very visible clumps of hair that end up making the cards themselves look flat, especially near the tips. Add some more cards to those bends at the tips to help fill them out so they don’t look super flat
    • I see from your renders that you have large and medium-sized clumps; I’d go in and add another layer of both big and medium-sized clumps to add in some more overall density and coverage. You already have a good amount but just a bit more to push it further and just keep an eye on any clipping or intersecting
    • The overall strands of hair in your big clumps also need some more density to help with coverage. I’d also make them look slightly more generic to help avoid seeing repeated patterns in the hair style.

  2. One thing you can do for your new layers of hair cards is to start cross-sectioning them to give the illusion of some layering happening, all of your cards follow the same flow so crossing some cards over each other where a few are going in an opposite flow can add some believability to the piece
    • I’d also start thinking about a flyaway hair layer, adding in that sort of visual noise where it’s quite subtle and can bring the entire thing to life.

  3. My other big critique is overall resolution of the hair cards and the clumping of the hair cards. Don’t be afraid to go all out on this resolution
  4. For more of a sort of tuft fur look I would look into making the overall shape of the cards to be wider at the base

Nick feedback:
  • Although im not using a high poly for this project, since the main learning focus is centered around the hair, I should throw the hardsurface parts into zbrush, hit them with a dynamesh and polish so the edges can be slightly bevelled.
thanks for coming to my TED Talk <3

NOTE: Posted early for critique purposes

Friday, June 19, 2026

Week 44 - Kotallo Headdress, Horizon Forbidden West Fan Art - Refinement

  Milestone 02 Check In: Refinement & Hair Cards

Marmoset Toolbag, Showing the first pass of hair cards with no colour

Unreal, with & without proxy head

Maya renders, with & without wireframe

I hated how it was coming out, so I locked in. >:D

While working on this project, it was requested of me to make a breakdown of both the hair and beaded straw; it goes as follows:

Beads & Straw


For the straw and beads, I decided to try something a bit weird; looking at Aloy's model, they rely pretty heavily on single 256x256 or 2048x512 textures to ensure all of the details in the player model are properly captured. The Aloy Recon outfit, which for context is customisable with set colour palettes and has different upgrades with some elements being shared in different outfits, has 15 different texture maps. Below is an example of one of 6 different rope maps for the outfit. It is 2048 x 512


My plan was to create relatively easy geometry to work with and then use a similar rope atlas/extra planes to add differentiating detail, such as frayed edges.

I started with multiple planes of the same height and thickness, then used a randomize transformations bonus tool, now native to Maya 2025, to vary the top edges of the straw in different ways that still felt natural

One of the main problems I had in the first week of this project was the overwhelming expectations I gave myself on this project. This began the mantra of "think simply, think foundationally", which would continue through 90% of this project. For the beads I did exactly that, rather than trying to do fancy tips and tricks and get hung up on the details.

 I took my nowvariedd straw, threw it in ZBrush and made one bead with an ArrayMesh modifier. I focused mainly on the first third of the entire straw mat, making sure to get the proper variation I wanted, including a small extrude for depth, and then exported it. Back in Maya I cleaned up any overlapping beads/areas with overabundance and made sure they generally lined up with the straw


Finally, I used a nonlinear bend deformer in Maya to get the semi-circle shape. The deformers have been such a help for this project, despite constantly forgetting they exist. Especially with the small bends to many of the hard surface areas, the lattice deformer has been awesome to slightly nudge things back to where they need to be.


Hair Cards

This has been... interesting to figure out. At its most basic level, I understand how hair cards operate and function; they are long planes that display a texture and utilise their UVs to dictate which strands are being shown. In practice, I know nothing and have never known anything.

I've been very back and forth on this entire process of how to format the hair, specifically, with what kind of fur it's made out of. In Kotallo's official design, there are similar small puffs of fur used as trim in his skirt and pauldron; however, this fur is short and might look awkward with the sheer amount of mass that is required in the headdress. 




Because of this, I've played with the idea of utilising a bird-feather approach when creating a structure for the hair to follow. Where the marginal coverts would be the pieces closest to the scalp and the primaries and secondaries and the silhouette-breaking strands.


However, for my test I focused more on getting the idea across rather than getting hung up on details; something, something, make it exist first, then make it good.

I started by using a free version of Fibershop to make some test strands. I noticed in the main reference and final Kotallo design the hair clumps together to form large sections. For the time being I focused on making three different clumps: a primary (blue), secondary (red), and tertiary (green)




Admittedly, I didn't spend as much time as I could have. I created a 'mohawk' of NURBS curves evenly spaced to create the main silhouette to account for the hard surface pieces of the headdress. These curves didn't need to be exactly right but more or less create the general silhouette and movement of the hair tufts.


The main tool I used for this was GS Curve Tools. I dont remember when I bought it, but it has been incredibly helpful in creating and controlling the different curve tools and their associated meshes


I used the curves to spawn several instances of cards between them, or tubes depending on need. From here I have several options to work with the curves, either by making new strands based on my original tubes/cards, designating UVs, or creating randomisation with the cards to make them look a bit more natural.



Example of some of the randomisation options: for this I mainly stuck with twist, width, taper, and profile.

The majority of the actual options for GS Curve are going to be found in the Curve Control Window; here I am able to control the length and width of the curve, how many divisions exist on each curve, the normal direction, as well as orienting the normals to a mesh, and the amount of twist on the curves.


The current version of the hair is okay for a first pass; I am already thinking of different ways to improve it, such as the bird feather method for layering. Surprisingly, the current version is much lower in polygon count than expected; the blue section is ~1500 tris, red is 400 tris, and green is 560 tris.


Looking through the texture files for Aloy, and keeping in mind the fidelity difference between the two, I'm genuinely surprised how chaotic Aloy's hair card (2048x2048) appears. My knowledge in hair cards is at the most basic of levels, but seeing hair sections that exist in non-linear spaces, such as the top right hair section, exists. Somehow I assumed that hair cards always had to be linear due to warping from UVs. Additionally, the highlights on the larger sections of hair is extremely interesting; they seem almost random rather than done intentionally.


Fixes
For the most part, everything has been going smoothly minus that first week; however, that was largely due to non-school circumstances. The majority of the issues revolve around the slight deformation of the hard surface materials, largely due to how they were constructed.


As I mentioned earlier, a big problem I had at the beginning was the mental complication of this project. To make it a bit easier on myself, I decided not to worry so much about optimisation and instead work with ngon geometry to ensure the forms came first. As seen below, I created the far-left piece, which I call the 'upper jaw', and then broke it apart, far right, to kitbash the middle piece together with similar geometry. Then I cleaned up the mesh to remove Ngons and broke it apart in different sections to make future UV-ing easier. 



I do expect to have to redo these parts at some point, or at least modify them for the faceting on the final mesh; however, it's a sacrifice I'm willing to make for now.

Schedule

[06/16] BLOCKOUT [] -- First pass of everything; establish the form and sizing for all objects

[06/23] REFINEMENT & HAIR CARDS [] -- Refining the hardsurface and rope designs into a high poly; create a first pass of the larger plume/hair cards

[06/30] RETOPO & UVS [] -- Retopology, uvs and a secondary hair pass

[07/07] TEXTURING & RENDERING []  -- Use generator and mask-based texturing workflows. Render in Marmoset Toolbag.

Tools used: Maya (Ahoge & GS Curves plugin), Substance Painter, Fiber Shop, Unreal Engine

 References

For this project, since I escaped the soft fleshy bits of character sculpting, a lot of my references are just trying to understand the shape language that Horizon Forbidden West uses for their warriors, in this case the Tenakth Marshalls.



More Renders:

Showing the first pass of hair cards with no texture, Unreal Engine

Showing the first pass of hair cards with colour, Marmoset Toolbag

Hardsurface with no hair, Marmoset Toolbag

thanks for coming to my TED Talk <3

Week 50 - Industry Review Cleanup Part 3

 For this week I mainly worked on finalizing the renders for my player VFX post and creating several of the video features for it. I decided...